package com.sg.controller.bff;

import com.sg.service.biz.bff.DashboardWorkTaskService;
import com.sg.dto.biz.bff.req.*;
import com.sg.dto.biz.bff.res.*;
import com.sg.common.ro.OkrResult;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;

/**
 * @author ：
 * @version 1.0
 * @date ：
 */
@Api(value = "DashboardWorkTask", tags = {"DashboardWorkTask"})
@RestController
// @RequestMapping("/oms/dashboardWorkTask/")
public class DashboardWorkTaskController {

    @Autowired
    DashboardWorkTaskService dashboardWorkTaskService;

    /**
     * B3查询主管下属问题超时排行图表
     * gen by moon at 4/1/2024, 2:18:05 AM
     */
    @PostMapping("/oms/dashboardWorkTask/queryChargeSubQuestionTimeoutRankList")
    @ApiOperation(value = "B3查询主管下属问题超时排行图表", response = OkrResult.class)
    public OkrResult<BffQueryChargeSubQuestionTimeoutRankListRespDto> queryChargeSubQuestionTimeoutRankList(@RequestBody(required = false) @Validated BffQueryChargeSubQuestionTimeoutRankListReqDto reqDTO) {
        return OkrResult.success(dashboardWorkTaskService.queryChargeSubQuestionTimeoutRankList(reqDTO));
    }

    /**
     * B3查询工作任务周期导航列表
     * gen by moon at 4/1/2024, 2:39:20 AM
     */
    @PostMapping("/oms/dashboardWorkTask/queryWorkTaskCycleNavList")
    @ApiOperation(value = "B3查询工作任务周期导航列表", response = OkrResult.class)
    public OkrResult<BffQueryWorkTaskCycleNavListRespDto> queryWorkTaskCycleNavList(@RequestBody(required = false) @Validated BffQueryWorkTaskCycleNavListReqDto reqDTO) {
        return OkrResult.success(dashboardWorkTaskService.queryWorkTaskCycleNavList(reqDTO));
    }

    /**
     * B3查询个人工作任务进度排行图表
     * gen by moon at 4/1/2024, 2:39:23 AM
     */
    @PostMapping("/oms/dashboardWorkTask/queryPersonalWorkTaskProgressRankList")
    @ApiOperation(value = "B3查询个人工作任务进度排行图表", response = OkrResult.class)
    public OkrResult<BffQueryPersonalWorkTaskProgressRankListRespDto> queryPersonalWorkTaskProgressRankList(@RequestBody(required = false) @Validated BffQueryPersonalWorkTaskProgressRankListReqDto reqDTO) {
        return OkrResult.success(dashboardWorkTaskService.queryPersonalWorkTaskProgressRankList(reqDTO));
    }

    /**
     * B3查询个人工作任务逾期排行图表
     * gen by moon at 4/1/2024, 2:39:26 AM
     */
    @PostMapping("/oms/dashboardWorkTask/queryPersonalWorkTaskOverdueRankList")
    @ApiOperation(value = "B3查询个人工作任务逾期排行图表", response = OkrResult.class)
    public OkrResult<BffQueryPersonalWorkTaskOverdueRankListRespDto> queryPersonalWorkTaskOverdueRankList(@RequestBody(required = false) @Validated BffQueryPersonalWorkTaskOverdueRankListReqDto reqDTO) {
        return OkrResult.success(dashboardWorkTaskService.queryPersonalWorkTaskOverdueRankList(reqDTO));
    }

    /**
     * B3查询个人问题解决天数排行图表
     * gen by moon at 4/1/2024, 2:39:32 AM
     */
    @PostMapping("/oms/dashboardWorkTask/queryPersonalQuestionSolveRankList")
    @ApiOperation(value = "B3查询个人问题解决天数排行图表", response = OkrResult.class)
    public OkrResult<BffQueryPersonalQuestionSolveRankListRespDto> queryPersonalQuestionSolveRankList(@RequestBody(required = false) @Validated BffQueryPersonalQuestionSolveRankListReqDto reqDTO) {
        return OkrResult.success(dashboardWorkTaskService.queryPersonalQuestionSolveRankList(reqDTO));
    }

    /**
     * B3查询个人问题超时排行图表
     * gen by moon at 4/1/2024, 2:39:35 AM
     */
    @PostMapping("/oms/dashboardWorkTask/queryPersonalQuestionTimeoutRankList")
    @ApiOperation(value = "B3查询个人问题超时排行图表", response = OkrResult.class)
    public OkrResult<BffQueryPersonalQuestionTimeoutRankListRespDto> queryPersonalQuestionTimeoutRankList(@RequestBody(required = false) @Validated BffQueryPersonalQuestionTimeoutRankListReqDto reqDTO) {
        return OkrResult.success(dashboardWorkTaskService.queryPersonalQuestionTimeoutRankList(reqDTO));
    }

    /**
     * B3查询部门任务进度排行工作任务图表
     * gen by moon at 4/1/2024, 2:39:38 AM
     */
    @PostMapping("/oms/dashboardWorkTask/queryDeptTaskProgressRankingChartList")
    @ApiOperation(value = "B3查询部门任务进度排行工作任务图表", response = OkrResult.class)
    public OkrResult<BffQueryDeptTaskProgressRankingChartListRespDto> queryDeptTaskProgressRankingChartList(@RequestBody(required = false) @Validated BffQueryDeptTaskProgressRankingChartListReqDto reqDTO) {
        return OkrResult.success(dashboardWorkTaskService.queryDeptTaskProgressRankingChartList(reqDTO));
    }

    /**
     * B3查询部门任务逾期排行列表
     * gen by moon at 4/1/2024, 2:39:41 AM
     */
    @PostMapping("/oms/dashboardWorkTask/queryDeptTaskExpiedRankingList")
    @ApiOperation(value = "B3查询部门任务逾期排行列表", response = OkrResult.class)
    public OkrResult<BffQueryDeptTaskExpiedRankingListRespDto> queryDeptTaskExpiedRankingList(@RequestBody(required = false) @Validated BffQueryDeptTaskExpiedRankingListReqDto reqDTO) {
        return OkrResult.success(dashboardWorkTaskService.queryDeptTaskExpiedRankingList(reqDTO));
    }

    /**
     * B3查询下属工作任务进度排行图表
     * gen by moon at 4/1/2024, 2:39:44 AM
     */
    @PostMapping("/oms/dashboardWorkTask/querySubordinateWorkTaskProgressRankList")
    @ApiOperation(value = "B3查询下属工作任务进度排行图表", response = OkrResult.class)
    public OkrResult<BffQuerySubordinateWorkTaskProgressRankListRespDto> querySubordinateWorkTaskProgressRankList(@RequestBody(required = false) @Validated BffQuerySubordinateWorkTaskProgressRankListReqDto reqDTO) {
        return OkrResult.success(dashboardWorkTaskService.querySubordinateWorkTaskProgressRankList(reqDTO));
    }

    /**
     * B3查询下属工作任务逾期排行图表
     * gen by moon at 4/1/2024, 2:39:47 AM
     */
    @PostMapping("/oms/dashboardWorkTask/querySubordinateWorkTaskOverdueRankList")
    @ApiOperation(value = "B3查询下属工作任务逾期排行图表", response = OkrResult.class)
    public OkrResult<BffQuerySubordinateWorkTaskOverdueRankListRespDto> querySubordinateWorkTaskOverdueRankList(@RequestBody(required = false) @Validated BffQuerySubordinateWorkTaskOverdueRankListReqDto reqDTO) {
        return OkrResult.success(dashboardWorkTaskService.querySubordinateWorkTaskOverdueRankList(reqDTO));
    }

    /**
     * B3查询部门问题超时排行列表
     * gen by moon at 4/1/2024, 2:39:51 AM
     */
    @PostMapping("/oms/dashboardWorkTask/queryDeptQuestionOvertimeRankingList")
    @ApiOperation(value = "B3查询部门问题超时排行列表", response = OkrResult.class)
    public OkrResult<BffQueryDeptQuestionOvertimeRankingListRespDto> queryDeptQuestionOvertimeRankingList(@RequestBody(required = false) @Validated BffQueryDeptQuestionOvertimeRankingListReqDto reqDTO) {
        return OkrResult.success(dashboardWorkTaskService.queryDeptQuestionOvertimeRankingList(reqDTO));
    }

    /**
     * B3查询主管下属问题解决天数排行图表
     * gen by moon at 4/1/2024, 2:39:54 AM
     */
    @PostMapping("/oms/dashboardWorkTask/queryChargeSubQuestionSolveRankList")
    @ApiOperation(value = "B3查询主管下属问题解决天数排行图表", response = OkrResult.class)
    public OkrResult<BffQueryChargeSubQuestionSolveRankListRespDto> queryChargeSubQuestionSolveRankList(@RequestBody(required = false) @Validated BffQueryChargeSubQuestionSolveRankListReqDto reqDTO) {
        return OkrResult.success(dashboardWorkTaskService.queryChargeSubQuestionSolveRankList(reqDTO));
    }

    /**
     * B3查询项目下问题超时排行图表
     * gen by moon at 4/2/2024, 11:59:38 PM
     */
    @PostMapping("/oms/dashboardWorkTask/queryProjectQuestionTimeoutRankList")
    @ApiOperation(value = "B3查询项目下问题超时排行图表", response = OkrResult.class)
    public OkrResult<BffQueryProjectQuestionTimeoutRankListRespDto> queryProjectQuestionTimeoutRankList(@RequestBody(required = false) @Validated BffQueryProjectQuestionTimeoutRankListReqDto reqDTO) {
        return OkrResult.success(dashboardWorkTaskService.queryProjectQuestionTimeoutRankList(reqDTO));
    }

    /**
     * B3查询项目下任务进度排行图标
     * gen by moon at 4/2/2024, 11:59:46 PM
     */
    @PostMapping("/oms/dashboardWorkTask/queryUnderProjectTaskProgressRankList")
    @ApiOperation(value = "B3查询项目下任务进度排行图标", response = OkrResult.class)
    public OkrResult<BffQueryUnderProjectTaskProgressRankListRespDto> queryUnderProjectTaskProgressRankList(@RequestBody(required = false) @Validated BffQueryUnderProjectTaskProgressRankListReqDto reqDTO) {
        return OkrResult.success(dashboardWorkTaskService.queryUnderProjectTaskProgressRankList(reqDTO));
    }

    /**
     * B3查询重点关注任务进度排行图表
     * gen by moon at 4/3/2024, 12:00:11 AM
     */
    @PostMapping("/oms/dashboardWorkTask/queryKeyFocusWorkTaskProgressRankList")
    @ApiOperation(value = "B3查询重点关注任务进度排行图表", response = OkrResult.class)
    public OkrResult<BffQueryKeyFocusWorkTaskProgressRankListRespDto> queryKeyFocusWorkTaskProgressRankList(@RequestBody(required = false) @Validated BffQueryKeyFocusWorkTaskProgressRankListReqDto reqDTO) {
        return OkrResult.success(dashboardWorkTaskService.queryKeyFocusWorkTaskProgressRankList(reqDTO));
    }

    /**
     * B3查询部门问题解决天数排行图表列表
     * gen by moon at 4/3/2024, 12:01:10 AM
     */
    @PostMapping("/oms/dashboardWorkTask/queryDeptQuestionSolvesRankingChartList")
    @ApiOperation(value = "B3查询部门问题解决天数排行图表列表", response = OkrResult.class)
    public OkrResult<BffQueryDeptQuestionSolvesRankingChartListRespDto> queryDeptQuestionSolvesRankingChartList(@RequestBody(required = false) @Validated BffQueryDeptQuestionSolvesRankingChartListReqDto reqDTO) {
        return OkrResult.success(dashboardWorkTaskService.queryDeptQuestionSolvesRankingChartList(reqDTO));
    }

    /**
     * B4查询部门问题人员排行列表
     * gen by moon at 4/3/2024, 12:01:20 AM
     */
    @PostMapping("/oms/dashboardWorkTask/queryDeptQuestionMemberRankingList")
    @ApiOperation(value = "B4查询部门问题人员排行列表", response = OkrResult.class)
    public OkrResult<BffQueryDeptQuestionMemberRankingListRespDto> queryDeptQuestionMemberRankingList(@RequestBody(required = false) @Validated BffQueryDeptQuestionMemberRankingListReqDto reqDTO) {
        return OkrResult.success(dashboardWorkTaskService.queryDeptQuestionMemberRankingList(reqDTO));
    }

    /**
     * B4查询部门任务人员排行列表
     * gen by moon at 4/3/2024, 12:01:27 AM
     */
    @PostMapping("/oms/dashboardWorkTask/queryDeptTaskMemberRankingList")
    @ApiOperation(value = "B4查询部门任务人员排行列表", response = OkrResult.class)
    public OkrResult<BffQueryDeptTaskMemberRankingListRespDto> queryDeptTaskMemberRankingList(@RequestBody(required = false) @Validated BffQueryDeptTaskMemberRankingListReqDto reqDTO) {
        return OkrResult.success(dashboardWorkTaskService.queryDeptTaskMemberRankingList(reqDTO));
    }

    /**
     * B3查询项目下逾期任务排行图表
     * gen by moon at 4/3/2024, 12:02:31 AM
     */
    @PostMapping("/oms/dashboardWorkTask/queryUnderProjectExpiedTaskRankList")
    @ApiOperation(value = "B3查询项目下逾期任务排行图表", response = OkrResult.class)
    public OkrResult<BffQueryUnderProjectExpiedTaskRankListRespDto> queryUnderProjectExpiedTaskRankList(@RequestBody(required = false) @Validated BffQueryUnderProjectExpiedTaskRankListReqDto reqDTO) {
        return OkrResult.success(dashboardWorkTaskService.queryUnderProjectExpiedTaskRankList(reqDTO));
    }

    /**
     * B3查询项目下问题解决天数排行图表
     * gen by moon at 4/3/2024, 12:02:39 AM
     */
    @PostMapping("/oms/dashboardWorkTask/queryProjectQuestionSolveRankList")
    @ApiOperation(value = "B3查询项目下问题解决天数排行图表", response = OkrResult.class)
    public OkrResult<BffQueryProjectQuestionSolveRankListRespDto> queryProjectQuestionSolveRankList(@RequestBody(required = false) @Validated BffQueryProjectQuestionSolveRankListReqDto reqDTO) {
        return OkrResult.success(dashboardWorkTaskService.queryProjectQuestionSolveRankList(reqDTO));
    }

    /**
     * B3查询重点关注任务逾期排行图表
     * gen by moon at 4/3/2024, 12:02:48 AM
     */
    @PostMapping("/oms/dashboardWorkTask/queryKeyFocusWorkExpiedTaskRankList")
    @ApiOperation(value = "B3查询重点关注任务逾期排行图表", response = OkrResult.class)
    public OkrResult<BffQueryKeyFocusWorkExpiedTaskRankListRespDto> queryKeyFocusWorkExpiedTaskRankList(@RequestBody(required = false) @Validated BffQueryKeyFocusWorkExpiedTaskRankListReqDto reqDTO) {
        return OkrResult.success(dashboardWorkTaskService.queryKeyFocusWorkExpiedTaskRankList(reqDTO));
    }
}
